package com.example.health_life.service;

import com.example.health_life.dao.Order;
import com.example.health_life.dto.OrderWithItemsDTO;
import java.util.List;

public interface OrderService {
    // 获取订单列表，支持按用户ID、订单状态和邮政编码筛选
    List<Order> getOrderList(Integer userId, Byte status, String postalCode);
    
    // 获取指定ID的订单详情
    Order getOrderById(Integer id);
    
    // 创建新订单
    int createOrder(Order order);
    
    // 更新订单状态
    int updateOrderStatus(Integer id, Byte status);
    
    // 删除订单
    int deleteOrder(Integer id);
    
    // 更新订单信息
    int updateOrder(Integer id, String address, Double totalPrice, Byte status);

    // 新增方法：获取带订单项的订单列表
    List<OrderWithItemsDTO> getOrderListWithItems(Integer userId, Byte status, String postalCode);

    // New method for physical delete
    void hardDeleteOrder(Integer id);
}
